
// for (var i = 1; i <= 100; i++) {
//     console.log(i);
// }


// NodeJS 也是可以使用模块化语法的

// 模块化  => 将一个大的项目 拆成相互依赖的小文件

// 优点:
// 1. 每一个js文件都是一个独立的模块 (模块中的变量和方法都是局部的)
// 2. 按需暴露 按需引入
// 3. 模块之间也是可以相互引入的
// 4. 减少全局变量的使用 

// ES6 Module  => ES6模块化   =>  在编译阶段执行
// export  import


// CommonJS    => NodeJS中的模块化   => 在载入阶段执行
// (node中可以使用ES6模块化-> 需要配置)

console.log("模块2被引入");


var b = 10;
function addB(){
    b++;
    return b;
}

function reduceB(){
    b--;
    return b;
}

function doubleB(){
    b*=2;
    return b;
}

function getB(){
    return b;
}

function setB(val){
    b = val;
    return b;
}

//  每一个js文件都是一个独立的模块 => 模块中都有一个module对象 
// module.exports = {}  module.export对象数据用于按需暴露模块中的变量和方法

// 批量暴露  => module.exports = {} 用新的对象覆盖原本的对象
module.exports = {
    b:b,
    addB:addB,
    reduceB:reduceB,
    doubleB:doubleB,
    getB:getB,
    setB:setB,
};


// console.log(module);






